package com.tcse.ppmethodhandler.entity;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

/**
 * @author aozeliu
 */
@JsonTypeInfo(
        use = JsonTypeInfo.Id.NAME,
        include = JsonTypeInfo.As.EXISTING_PROPERTY,
        property = "type"
)
@JsonSubTypes({
        @JsonSubTypes.Type(value = ClassRecord.class, name = "class"),
        @JsonSubTypes.Type(value = FileRecord.class, name = "file")
})
public abstract class ClassFileRecord {
    protected String type;

    public abstract void setType();

    public String getType() {
        return type;
    }
}
